A number of systems and programs are offered on the market for the design, the engineering and the manufacturing of objects. CAD is an acronym for Computer-Aided Design, e.g. it relates to software solutions for designing an object. CAE is an acronym for Computer-Aided Engineering, e.g. it relates to software solutions for simulating the physical behavior of a future product. CAM is an acronym for Computer-Aided Manufacturing, e.g. it relates to software solutions for defining manufacturing processes and operations. In such computer-aided design systems, the graphical user interface plays an important role as regards the efficiency of the technique. These techniques may be embedded within Product Lifecycle Management (PLM) systems. PLM refers to a business strategy that helps companies to share product data, apply common processes, and leverage corporate knowledge for the development of products from conception to the end of their life, across the concept of extended enterprise. The PLM solutions provided by Dassault Systèmes (under the trademarks CATIA, ENOVIA and DELMIA) provide an Engineering Hub, which organizes product engineering knowledge, a Manufacturing Hub, which manages manufacturing engineering knowledge, and an Enterprise Hub which enables enterprise integrations and connections into both the Engineering and Manufacturing Hubs. All together the system delivers an open object model linking products, processes, resources to enable dynamic, knowledge-based product creation and decision support that drives optimized product definition, manufacturing preparation, production and service.
In this context, there is a need to search an existing solid that is geometrically similar to another solid, e.g. to a solid being designed with a CAD system. This search is performed by comparing dedicated information, generally called “shape descriptor”, attached to each solid. Searching similar objects in the context of a client/server architecture in specific may thus be performed as follows. By using a client computer, the designer creates or edits a 3D model A, typically a solid. The question is to find an existing solid that is similar to the one being designed. The database of candidate solids is hosted by a server computer. The client computer computes the shape descriptor s(A) of solid A. This shape descriptor is sent to the server computer together with a user-defined likeness/similarity criterion c. Then, a search algorithm is run on the server computer in order to find, if any, similar solids (i.e. solids “alike” the one being searched according to the likeness criterion). This searching makes use of shape descriptor s(A) together with a request relative to a likeness criterion c and pre-computed shape descriptors of solids in the database. Finally, similar solids are sent back to the client computer. Two solids are generally said to be “similar” or “alike” when they have the “same shape” or “almost the same shape” according to the common sense. Similarity may include mirroring, meaning that the mirror image of the solid is similar to the original solid. It may also include a scale factor, meaning that the scaled solid is similar to the original solid. The key feature of similar solid searching is thus the shape descriptor. The shape descriptor is some multidimensional and numerical information that is computed from the solid model and that is intensively used for comparison purpose.
On the one hand, there exists a shape descriptor technology based on radial and harmonic functions. The aim of a radial function is to encode a 3D shape, which is not generally rotation invariant, into numerical information that is rotation invariant. This eliminates the problem of relative positioning between the test solid and the candidate solid. The harmonic functions are a basis of functions and the shape descriptor is, in a sense, the coordinates of the radial function in the basis of harmonic functions. This technology is however designed for multi-purpose shape comparison and existing products lack efficiency in the context of mechanical parts, in that outputted results are not always relevant. Typical references are:                1. Document EP 2169567 A2;        2. Rotation Invariant Spherical Harmonic Representation of 3D Shape Descriptors. M. Kazhdan, T. Funkhouser, and S. Rusinkiewicz, Eurographics Symposium on Geometry Processing (2003); and        3. A search engine for 3D models. T. Funkhouser, P. Min, M. Kazhdan, J. Chen, A. Halderman, D. Dobkin, D. Jacobs, D.: ACM Transactions on Graphics 22(1), 83-105 (2003).        
On the other hand, it is known that for solid models representing mechanical parts, another technology is available. The shape descriptor is computed from the B-Rep representation, more precisely from faces of the solid model. For example, one prior art (cited below) extracts geometric signatures for faces and matches them to distinguish equivalent faces from different faces between two B-Rep models. Yet, existing products still lack efficiency, not only from the relevancy point of view but also from the size of introduced data and speed points of view. This technology includes:                1. Comparing 3D CAD Models: Uses, Methods, Tools and Perspectives, Antoine Brière-Côté, Louis Rivest and Roland Maranzana, Computer-Aided Design & Applications, 9(6), 2012, 771-794; and        2. Msaaf, O.; Maranzana, R.; Rivest, L.: Part data mining for information re-use in a PLM context, Proceedings of GT2007, May 14-17, Montreal, Canada, ASME Paper: GT2007-27966, American Society of Mechanical Engineers, New York, N.Y., 2007.        
Within this context, there is still a need for an improved solution for querying a database that comprises 3D modeled objects that represent mechanical parts.